﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using ThayerJJ.HCMS.DAL;
using ThayerJJ.HCMS.Model;
using ThayerJJ.HCMS.BLL;

public partial class UserLogin : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Cookies["hcms"] != null)
        {
            //更新用户最后登录时间及IP
            string lasttime = System.DateTime.Now.ToString();
            string lastip = Function.GetClientIP();
            BLLAdmin blladmin = new BLLAdmin();
            blladmin.UpdateAdmin(lasttime, lastip,Convert.ToInt32(Request.Cookies["hcms"]["_userid"]));
            //记录日志
            Log.AddLog(1, Request.Cookies["hcms"]["_userid"], "登录系统");
            Response.Redirect("Manage/main.htm");
        }
    }
    protected void btn_submit_Click(object sender, EventArgs e)
    {
        if (txb_username.Text != "" && txb_pwd.Text != "")
        {
            BLLAdmin blladmin = new BLLAdmin();
            string islogin = blladmin.IsLogin(txb_username.Text, txb_pwd.Text);
            if (Convert.ToInt32(islogin)<0)
            {
                switch (islogin)
                { 
                    case "-1":
                        errmsg.Text = "该用户不存在";
                        break;
                    case "-2":
                        errmsg.Text = "该用户已被停用";
                        break;
                    case "-3":
                        errmsg.Text = "密码不正确";
                        break;
                }
            }
            else
            {
                HttpCookie cookie = new HttpCookie("hcms");
                DTOAdmin dtoadmin = blladmin.GetModel(Convert.ToInt32(islogin));
                if (dtoadmin.IsHubsAdmin == 1)
                {
                    //HUBS管理员
                    cookie.Values.Add("_hubsadmin", "1");//HUBS管理员
                    cookie.Values.Add("_pid", "999");//酒店PID
                    cookie.Values.Add("_admin", "1");//酒店系统管理员，HUBS管理员同时为酒店系统管理员
                }
                else
                {
                    //酒店或集团管理员
                    cookie.Values.Add("_hubsadmin", "0");//非HUBS管理员
                    if (dtoadmin.Pid.ToString() == "0")//集团管理员
                    {
                        cookie.Values.Add("_groupid", dtoadmin.Groupid.ToString());//集团ID
                        //用户所属集团角色可管理酒店的第一个PID作为_pid
                        cookie.Values.Add("_pid", Function.GetGroupMinPid(dtoadmin.Am_id.ToString()));
                    }
                    else
                    {
                        cookie.Values.Add("_pid", dtoadmin.Pid.ToString());//酒店PID
                        cookie.Values.Add("_groupid", "0");
                    }
                    //判断是否是酒店系统管理员，即是否在酒店系统管理角色里。
                    BLLRole bllrole = new BLLRole();
                    if (bllrole.IsHotelAdmin(dtoadmin.Am_id, dtoadmin.Pid,dtoadmin.Groupid))
                    {
                        cookie.Values.Add("_admin", "1"); //酒店系统管理员
                    }
                    else
                    {
                        cookie.Values.Add("_admin", "0"); //酒店普通管理员
                    }
                }
                cookie.Values.Add("_userid", dtoadmin.Am_id.ToString());//管理员编号
                cookie.Values.Add("_username", txb_username.Text);
                //cookie.Values.Add("_moduid", "");//具有模块列表
                if (cookiesave.SelectedIndex != 0)
                {
                    cookie.Expires = DateTime.Now.AddDays(Convert.ToDouble(cookiesave.SelectedValue));
                }
                Response.AppendCookie(cookie);
                //更新用户最后登录时间及IP
                string lasttime = System.DateTime.Now.ToString();
                string lastip = Function.GetClientIP();
                blladmin.UpdateAdmin(lasttime, lastip,dtoadmin.Am_id);
                //记录日志
                Log.AddLog(1, Request.Cookies["hcms"]["_userid"], "登录系统");
                Response.Redirect("Manage/main.htm");
            }
        }
    }

}
